package com.nis.bcreceiver;

import android.util.Log;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Map;

/**
 * 描述:
 * 创建: zhangyh
 * 时间: 2018/9/12
 */

public class HttpUse {
    public static void postReq(String strUrl,Map<String,String> params) throws Exception {
        String urlPath = new String("https://post.shanrubao.com/order/post1.php");
        if (strUrl!=null&&!"".equals(strUrl)) {
            urlPath=strUrl;
        }
        String param ="";
        for (Map.Entry<String, String> entry : params.entrySet()) {
            Log.e("after","上传数据 key:" + entry.getKey() + ", value:" + entry.getValue());
            param += ("&"+entry.getKey()+"=" + URLEncoder.encode(entry.getValue(), "UTF-8"));
        }
        param=param.substring(1);
        //建立连接
        URL url = new URL(urlPath);
        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();

        //设置参数
        httpConn.setDoOutput(true);     //需要输出
        httpConn.setDoInput(true);      //需要输入
        httpConn.setUseCaches(false);   //不允许缓存
        httpConn.setRequestMethod("POST");      //设置POST方式连接

        //设置请求属性
        httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
        httpConn.setRequestProperty("Charset", "UTF-8");

        //连接,也可以不用明文connect，使用下面的httpConn.getOutputStream()会自动connect
        httpConn.connect();

        //建立输入流，向指向的URL传入参数
        DataOutputStream dos = new DataOutputStream(httpConn.getOutputStream());
        dos.writeBytes(param);
        dos.flush();
        dos.close();

        //获得响应状态
        int resultCode = httpConn.getResponseCode();
        if (HttpURLConnection.HTTP_OK == resultCode) {
            StringBuffer sb = new StringBuffer();
            String readLine = new String();
            BufferedReader responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));
            while ((readLine = responseReader.readLine()) != null) {
                sb.append(readLine).append("\n");
            }
            responseReader.close();
//            System.out.println(sb.toString());
            Log.e("after","打印回调 "+sb.toString());
        }
    }
}
